#include <iostream>
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>

using namespace std; 

int main()
{
    const char *filename = "./test1.txt";
    // 操作：有就打开，没有就创建
    // 权限（0644）：rw_r__r__（0放前面表示8进制）
    int fd1 = open(filename, O_RDWR | O_CREAT, 0644);
    if (fd1 == -1)
    {
        // 打印错误原因
        perror("error");
    }
    // fd：文件描述符
    // 0：标准输入
    // 1：标准输出
    // 2：标准出错
    cout << "fd1:" << fd1 << endl;

    filename = "./test2.txt";
    int fd2 = open(filename, O_RDWR | O_CREAT, 0644);
    if (fd2 == -1)
    {
        // 打印错误原因
        perror("error");
    }
    cout << "fd2:" << fd2 << endl;

    // 关闭文件（资源不用的时候要回收）
    close(fd1);

    filename = "./test3.txt";
    int fd3 = open(filename, O_RDWR | O_CREAT, 0644);
    if (fd3 == -1)
    {
        // 打印错误原因
        perror("error");
    }
    cout << "fd3:" << fd3 << endl;

    close(fd2);
    close(fd3);

    while (1)
    {
        sleep(3);
    }

    return 0;
}